/*************************************************************************
 *                                                                       *
 * This file is part of the FreeMAPs distribution.  For full copyright   *
 * information, see COPYRIGHT and COPYING.LESSER.                        *
 *                                                                       *
 * Author:           sqbang                                              *
 * Email:            sqbang@ustc.edu                                     *
 * Date:             2011.08.22                                          *
 *                                                                       *
 *************************************************************************/

namespace FreeMAPs
{

inline const std::string&
IrregularBoundaryConditionStrategy::get_variable_complete_symbol() const
{
    return d_variable_complete_symbol;
}


inline const std::string&
IrregularBoundaryConditionStrategy::get_bc_name() const
{
    return d_bc_name;
}


inline const IrregularBoundaryConditionRange&
IrregularBoundaryConditionStrategy::get_act_range() const
{
    return d_act_range;
}


//#ifdef FREEMAPS_HAVE_SAMRAI
//inline const BoundaryConditionDiscreteParameters&
//IrregularBoundaryConditionStrategy::get_discrete_parameters() const
//{
//    return d_discrete_parameters;
//}
//#endif


inline const PDEEquationEnsembleStrategy*
IrregularBoundaryConditionStrategy::get_equation_ensemble() const
{
    FREEMAPS_ASSERT_VALID_POINTER (d_equation_ensemble);
    return d_equation_ensemble;
}


inline void
IrregularBoundaryConditionStrategy::add_boundary_names(
        const std::set<std::string>& boundary_names)
{
    d_act_range.add_boundary_names(boundary_names);
}



inline const std::set<std::string>&
IrregularBoundaryConditionStrategy::get_boundary_names() const
{
    return d_act_range.get_boundary_names();
}



inline const std::string&
IrregularBoundaryConditionStrategy::get_range() const
{
    return d_act_range.get_range();
}



inline void
IrregularBoundaryConditionStrategy::set_range(
        const std::string& range)
{
    d_act_range.set_range(range);
}

} // namespace FreeMAPs
